GtkWidget: Fix motion event consumption detection for touch-only gestures
authorCarlos Garnacho <carlosg@gnome.org>
Mon, 11 Jan 2016 19:06:14 +0000 (20:06 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Mon, 11 Jan 2016 19:16:06 +0000 (20:16 +0100)
commit0167f7c65c95b3bcf2d4800c1eceaf8f916ea303
tree1a6a22da1f13c3498041140a76e020b661fdc856
parent32eda187ee829a8550a3ec07d407dea4c0c89992
GtkWidget: Fix motion event consumption detection for touch-only gestures

If a GtkGestureSingle is set as touch-only, pointer events would be
discarded without giving an opportunity to the regular GtkGesture
handler to manage those.

Because the pointer events weren't actually managed by the gesture,
gtk_gesture_get_sequence_state() (rather unhelpfully here) will resort
to returning GTK_EVENT_SEQUENCE_NONE, which is in turn interpreted
by _gtk_widget_consumes_motion() as "may be handling the events for
this sequence", because gestures in this state presumably handle
the events, just that it's not "claimed" yet.

Instead, use gtk_gesture_handles_sequence(), which will perform the
expected check on the event sequence being managed, as we expect
here.
gtk/gtkwidget.c